package com.leo.base.db.annotation;

import java.lang.annotation.*;

/**
 * 分片数据源：根据某个字段进行hash运算，根据运算结果进行数据源指定，常用于 单表的增删改查
 * 因为分片只能根据一个表的主键或者其他指定字段进行分片运算，所以针对多表处理的情况无法准确指定哪个分片
 * 多表的增删改查也可以使用，但是数据可能不准确
 *
 * 数据库最好为同类型数据库，当然也可以不同
 *
 * @author wangss
 */
@Target({ElementType.METHOD, ElementType.TYPE, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ShardingDataSource {

    /**
     * 要分片的表名称
     *
     * @return
     */
    String tableName();

}
